home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCX Clip Art - Professional Plus
/
PCX Clip Art - Professional Plus.iso
/
tools
/
pc
/
lharc.doc
< prev
next >
Wrap
Text File
|
1989-07-30
|
41KB
|
1,196 lines
/*----------------------------------------------------------------------
User's Manual for High-Performance File-Compression Program
LHARC Version 1.14ß
07/31/89
Copyright (c) Haruyasu Yoshizaki (Yoshi), 1988-89
Nifty Serve PFF00253
ASCII PCS pcs02846
----------------------------------------------------------------------*/
0. It Came to Pass One Day...
After reading "A Hard Disk Cookbook" from Shouei Press, I had a
strong desire to write my own archiving utility. On the Nifty Serve
network, I was first exposed to Mr. Miki's Larc, which surpasses the
well-known PKware in compression ratios, as reported in the Forum
Software Debut and Review. The next shock came when I saw Mr.
Okumura's LZari, which has even better compression-ratio performance.
I started to rewrite LZari in assembly language, trying to make it
run faster, but I could find hardly no good way to speed up the
process of un-archiving.
So, as an alternative, I used adaptive Huffman coding with an LZSS
encoder in order to achieve similar compression ratios with shorter
decompression times. This is the idea used in LHARC .
No one can be sure of eradicating all possible bugs, yet if SPACE is
more valuable than TIME to you, please give this program a try. It
may be slower in execution, but it achieves the tightest compression
ratios of any general archiver in the present "shareware" environ-
ment.
(Copyright reserved).
1. How to Use It:
Just type "LHARC" to see a concise help screen of the program's
command structure.
Command-line synopsis:
======================
LHARC [<command>] [{{/|-}{<switch>[-|+|2|<option>]}}...] <archive_name>
[{<drive_name>:}|{<home_directory_name>\}] [<path_name> ...]
Only a single command can be specified on the command line, but a
group of switches can be specified together after the '/' or '-'
delimiter. You may place switch(es) anywhere following the command.
Hitting 'Ctrl-Break' or 'Ctrl-C' at any time will abort LHARC 's
current operation and return you to the DOS prompt.
LHARC User's Manual page 2
Terminology:
============
A path name comprises a directory name and a file name:
a:\tc\include\stdio.ext
|<---- Path_name ---->|
|<Directory_>||<File_>|
|<-- name -->||<name >|
Both the archive name and file name(s) specified in the command line
can optionally include a path i.e., a drive or directory name. If
LHARC becomes excessively confused by your typing, it will just stop
and wait for keyboard input. Hit 'CTRL-Break' or 'CTRL-C' to escape
back to the prompt and then use the DOS function keys to edit and
reenter your command line. LHARC will continue to answer your
request.
LHARC User's Manual page 3
Commands:
=========
a (Add files to archive)
LHARC a ARCHIVE.LZH file1.ext
Adds 'file1.ext' to 'ARCHIVE.LZH'. If 'ARCHIVE.LZH' does
not exist, then LHARC will create it. If a file with the
name 'file1.ext' already exists in the archive, LHARC will
replace it with the specified file.
Including the extension '.LZH' with the archive name is
optional and LHARC will default to using it unless you
specify otherwise (see below under "Archive name").
However, you would certainly need to include the extension
(or just '.' for a blank extension) with any single-
character archive name or file name that might look like
one of LHARC 's commands.
u (Update files to archive)
LHARC u ARCHIVE.LZH file1.ext
Adds 'file1.ext' to 'ARCHIVE.LZH', the same as with the 'a'
command. However, if 'file1.ext' already exists in the
archive, LHARC will check its time stamp and will keep the
newer one and ignore the older one. (Use the /c switch to
tell LHARC to skip this time-stamp comparison.)
m (Move new files into archive)
LHARC m ARCHIVE.LZH file1.ext
is equivalent to
LHARC u ARCHIVE.LZH file1.ext
DEL file1.ext
Beware the fact that the second line is implicit. You might
lose 'file1.ext' forever.
f (Freshen files in archive)
LHARC f ARCHIVE.LZH file1.ext
Replaces 'file1.ext' in 'ARCHIVE.LZH' with the newer one
only if a file with this name already exists in the archive.
Otherwise, no action is taken. (Use the /c switch to tell
LHARC to skip this time-stamp comparison.)
LHARC User's Manual page 4
e or x (EXtract files from archive)
LHARC e ARCHIVE.LZH d:\temp\
Extracts all the files from 'ARCHIVE.LZH
directory \temp\ on drive D:. If the specified directory
does not exist, then LHARC will prompt you whether to create
it with the message "Make directory? [Y/N]". If no home
directory name is specified, LHARC will extract all files to
the current directory.
LHARC e ARCHIVE.LZH file1.ext
Extracts only 'file1.ext' from 'ARCHIVE.LZH'. If a file
with the name 'file1.ext' exists in the home directory,
LHARC will compare their time stamps and if the existing
file is older, then LHARC will prompt you whether to
overwrite it. (Use the /c switch to tell LHARC to skip this
time-stamp comparison.)
LHARC e ARCHIVE.LZS file.ext
Extracts 'file.ext' from an .LZS file archived with Larc
3.xx.
Note: Larc is another popular archiver on Japanese PDS's.
p (disPlay files in archive)
LHARC p ARCHIVE.LZH file1.ext
Extracts 'file1.ext' from 'ARCHIVE.LZH' and redirects it to
standard output.
LHARC p /v ARCHIVE.LZH file1.ext
Uses the default utility LESS to format and display the
redirected output. LHARC creates a temporary file
' LHARC.TMP' for viewing. It will be deleted afterward.
LHARC p /vsee ARCHIVE.LZH file1.ext
Invokes the text formatter SEE, which then displays
'file1.ext' to standard output in a paged format. Refer to
PC-LESS.ARC, LIST64A.ARC and SEE15.ARC. (These should be
available in most BBS libraries.)
d (Delete files from archive)
LHARC d ARCHIVE.LZH file1.ext
Deletes 'file1.ext' from 'ARCHIVE.LZH'.
LHARC User's Manual page 5
l (List files in archive)
LHARC l ARCHIVE.LZH
Lists information about all the files in 'ARCHIVE.LZH':
name, original size, stored size, compression ratio, date
and time, attributes, compression type (see below under
"Archive File Header") and CRC check. Each file takes one
line of output. A '+' before a file name indicates that a
directory name is stored with the file name. (Use the /x
switch to tell LHARC to also display these directory names.)
If you specify any file names and extensions, then only the
files with matching names or extensions will be listed:
LHARC l ARCHIVE.LZH *.c *.h readme.doc
Lists information on all the .C, .H and README.DOC files
in 'ARCHIVE.LZH'.
v (View list of files in archive)
LHARC v ARCHIVE.LZH
Which is equivalent to:
LHARC l /x ARCHIVE.LZH
Lists information about all the files in 'ARCHIVE.LZH',
except that each listing takes two lines: the first for the
full path name and the second for the rest